home *** CD-ROM | disk | FTP | other *** search
/ Racing Games (Spidla) / zavodni.iso / Fun Racing / src / FRPowerUp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-06-19  |  2.1 KB  |  108 lines

  1.  
  2.  
  3. #ifndef FRPOWERUP_H
  4. #define FRPOWERUP_H
  5.  
  6. #include <Engine/Engine.h>
  7.  
  8. #define POWERUP_N2O        0
  9. #define POWERUP_ROCKET    1
  10. #define POWERUP_MINE    2
  11. #define POWERUP_OIL        3
  12.  
  13. class FRPowerUp : public TEEngineObject
  14. {
  15.     TERTTIDeclaration;
  16.  
  17. public:
  18.  
  19.     FRPowerUp(TEVector &rPos);
  20.  
  21.     Int32 m_lType;
  22.     UInt32 m_ulRespawnTime;
  23.  
  24.     static bool ms_bHideType;
  25.  
  26. protected:
  27.  
  28.     void Animate(UInt32 ulDeltaT, TEEngine* pEngine);
  29.     void OnClip(TEEngineObject* pInfluencer);
  30.     bool VolStaticInfluence(UInt32 ulDeltaT, TEEngineObject* pObject);
  31.  
  32.     void RenderShadow(TERenderer* pRender, TECamera* pCam,
  33.         TELight* pLights, TEShadowMethod DefaultMethod,
  34.         bool bMoreThanOneShadow);
  35.  
  36. private:
  37.  
  38.     void UpdateModel(void);
  39. };
  40.  
  41.  
  42. class FROilPuddle : public TEEngineObject
  43. {
  44.     TERTTIDeclaration;
  45.  
  46. public:
  47.  
  48.     FROilPuddle(TEVector &rPos);
  49.     ~FROilPuddle();
  50.  
  51. protected:
  52.  
  53.     TEDecal* m_pDecal;
  54.  
  55.     bool Clips(TEBoundingVolume &rVol){return false;}
  56.     bool Clips(TEBoundingVolume &rVol, TEPlane &rPlane){return false;}
  57.     bool Clips(TEVector &rRayPos, TEVector &rRayDir){return false;}
  58.     bool Clips(TEVector &rRayPos, TEVector &rRayDir, TEVector &rIntersection){return false;}
  59.     bool Clips(TEVector &rRayPos, TEVector &rRayDir, TEClipInfo &rInfo){return false;}
  60.     
  61.     void Render(TERenderer* pRender, TECamera* pCam);
  62.     void OnClip(TEEngineObject* pInfluencer);
  63.     bool VolStaticInfluence(UInt32 ulDeltaT, TEEngineObject* pObject);
  64. };
  65.  
  66. class FREMPMine : public TEEngineObject
  67. {
  68.     TERTTIDeclaration;
  69.  
  70. public:
  71.  
  72.     FREMPMine(TEVector &rPos);
  73.     ~FREMPMine();
  74.  
  75. protected:
  76.  
  77.     TESoundReference* m_pSound;
  78.     TEParticleFX* m_pPart;
  79.     UInt32 m_ulClipState;
  80.  
  81.     void Animate(UInt32 ulDeltaT, TEEngine* pEngine);
  82.     void OnClip(TEEngineObject* pInfluencer);
  83. };
  84.  
  85. class FREMPRocket : public TEEngineObject
  86. {
  87.     TERTTIDeclaration;
  88.  
  89. public:
  90.  
  91.     FREMPRocket(TEVector &rPos, TEVector &rForward, TEVector &rRot);
  92.     ~FREMPRocket();
  93.  
  94. protected:
  95.  
  96.     TESoundReference* m_pSound;
  97.     TEParticleFX* m_pPart;
  98.     TEVector m_ParticleDelta;
  99.     UInt32 m_ulClipState;
  100.  
  101.     void Animate(UInt32 ulDeltaT, TEEngine* pEngine);
  102.     void OnClip(TEEngineObject* pInfluencer);
  103. };
  104.  
  105.  
  106. #endif
  107.  
  108.